/**
 * Created by sunchenglin on 2017/7/17.
 *    选择排序
 //    冒泡排序
 //    计数排序
 //    桶排序
 //    基数排序
 //    拓扑排序
 //    外部排序
 */
public class Solution {
    public static void change(int i, int j, int[] array){
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }

//找到最小的放前面。
    public static void selectSort(int[] array){
        int N = array.length;
        int min,minIndex;
        for(int i=0; i<N; i++){
            min =array[i];
            minIndex = i;
            for(int j=i; j<N; j++){
                if(array[j]<min){
                    min = array[j];
                    minIndex = j;
                }

            }
            if(minIndex!=i){
                change(minIndex,i,array);
            }

        }
    }

    public static void main(String args[]){
        int[] a={7,4,8,5,3,4,5,2,6};
        selectSort(a);
        System.out.println("haha");
    }
}
